User-level applications and/or kernel-level drivers are often configured to use data of an operating system (OS) of a computer in order to function properly. In many instances, the applications and/or drivers directly access the data, use references to the data, or use data that corresponds with the data (e.g., copy of the data). References and/or data that corresponds with data is often hard-coded into user-level applications and/or kernel-level drivers because the actual data of the OS is not always readily accessible by these applications/drivers when needed. Some data, for example, can only be readily accessed and/or used at specific times during a boot-up sequence of the OS and/or during terminal services after login. For example, user-level data/files cannot be readily accessed during early-boot time because file system drivers that enable the reading of user-level data/files have not been loaded
When references and/or data that corresponds with the data is hard-coded into user-level applications and/or kernel-level drivers, patches or other update mechanisms must be often employed to update the applications/drivers when, for example, new versions of the OS are released that modify the data and/or locations of the data. Difficulties associated with patching user-level applications and/or kernel-level drivers can result in discrepancies between the references and/or data that corresponds with the data hard-coded in applications and the actual data of the OS. These discrepancies can result in application faults and/or computer system errors. Accordingly, current user-level applications and/or kernel-level drivers are not able to access and use data in a desirable manner.